As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of content, application, and/or service providers are turning to technologies such as cloud computing. Cloud computing, in general, is an approach to providing access to electronic resources through services, such as Web services, where the hardware and/or software used to support those services is dynamically scalable to meet the needs of the services at any given time. A user or customer can obtain access to various services through the cloud, or across at least one network, and thus does not have to purchase and maintain the hardware and/or software associated with the services. In some cases, a computing device for a user might include one or more applications that each requires access to one or more of these services. Each time one of these applications wants to access one of the services, a connection is established to allow for the necessary communications.
As the number of connections increases, however, it becomes increasingly difficult to support the connections using a single host. While multiple hosts can be used to provide the connections for multiple devices, it becomes increasingly difficult to manage the connections across the various hosts, particularly as client devices drop and regain connections to different hosts. Keeping information about the connections in a single, centralized location can become increasingly difficult to continually update and attempt to keep accurate.